package org.looom.orglooomschool;

import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.Button;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;


public class Sign extends AppCompatActivity {
    private ImageView avatarImageView; // 用于显示头像图片的 ImageView
    private EditText usernameEditText; // 用于输入用户名的 EditText
    private EditText passwordEditText; // 用于输入密码的 EditText
    private RadioGroup genderRadioGroup; // 用于选择性别的 RadioGroup
    private CheckBox agreeCheckBox; // 用于表示是否同意协议的 CheckBox
    private Button registerButton; // 用于触发注册操作的 Button

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sign); // 设置 Activity 使用的布局文件

        // 获取布局文件中的控件实例
        avatarImageView = findViewById(R.id.imageViewAvatar); // 通过 ID 找到布局文件中的 ImageView
        usernameEditText = findViewById(R.id.editTextUsername); // 通过 ID 找到布局文件中的 EditText (用户名)
        passwordEditText = findViewById(R.id.editTextPassword); // 通过 ID 找到布局文件中的 EditText (密码)
        genderRadioGroup = findViewById(R.id.radioGroup); // 通过 ID 找到布局文件中的 RadioGroup (性别)
        agreeCheckBox = findViewById(R.id.checkBoxAgree); // 通过 ID 找到布局文件中的 CheckBox (同意协议)
        registerButton = findViewById(R.id.buttonRegister); // 通过 ID 找到布局文件中的 Button (注册)

        // 设置 ImageView 的点击监听器
        avatarImageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(Sign.this, "头像被点击了", Toast.LENGTH_SHORT).show();
                // 在这里可以添加更换头像的逻辑 (例如打开相册选择图片)
            }
        });

        // 设置按钮的点击监听器
        registerButton.setOnClickListener(v -> {
            // 获取用户输入的用户名并去除首尾空格
            String username = usernameEditText.getText().toString().trim();
            // 获取用户输入的密码并去除首尾空格
            String password = passwordEditText.getText().toString().trim();
            String gender = ";";
            ; // 用于存储用户选择的性别
            boolean agreed = false; // 用于存储用户是否同意协议

            // 输入验证
            if (TextUtils.isEmpty(username)) {
                usernameEditText.setError("用户名不能为空"); // 如果用户名为空，在 EditText 上显示错误提示
                return; // 停止执行后续代码
            }

            if (TextUtils.isEmpty(password)) {
                passwordEditText.setError("密码不能为空"); // 如果密码为空，在 EditText 上显示错误提示
                return; // 停止执行后续代码
            }

            if (password.length() < 6) {
                passwordEditText.setError("密码长度不能少于 6 位"); // 如果密码长度小于 6 位，显示错误提示
                return; // 停止执行后续代码
            }

            // 获取性别选择
            if (genderRadioGroup != null) {
                int selectedGenderId = genderRadioGroup.getCheckedRadioButtonId(); // 获取选中的 RadioButton 的 ID
                if (selectedGenderId == R.id.radioButtonMale) {
                    gender = "男";
                    ; // 如果选中了男性 RadioButton
                } else if (selectedGenderId == R.id.radioButtonFemale) {
                    gender = "女";
                    ; // 如果选中了女性 RadioButton
                } else {
                    Toast.makeText(this, "请选择性别", Toast.LENGTH_SHORT).show(); // 如果没有选择任何性别，弹出提示
                    return; // 停止执行后续代码
                }
            }

            // 获取是否同意协议（如果使用了 CheckBox）
            if (agreeCheckBox != null) {
                agreed = agreeCheckBox.isChecked(); // 获取 CheckBox 的选中状态
                if (!agreed) {
                    Toast.makeText(this, "请同意用户协议",Toast.LENGTH_SHORT).show(); // 如果没有同意协议，弹出提示
                    return; // 停止执行后续代码
                }
            }

            // 创建注册信息的字符串
            String registrationInfo = "注册信息：\n用户名："+username + "\n密码："+password;
            if (!TextUtils.isEmpty(gender)) {
                registrationInfo += "\nn性别："+gender;
            }
            if (agreeCheckBox != null) {
                registrationInfo += "\n同意协议："+agreed;
            }
            Log.i("用户注册", registrationInfo);
        });
    }
}
